iT邦幫忙

2023 iThome 鐵人賽

DAY 1
1
Modern Web

就是個Go,我也可以啦!GOGO系列 第 1

2023鐵人賽 Day 1 先搞清楚簡化到極致的變數宣告

  • 分享至 

  • xImage
  •  

基本變數宣告

Go語言是一種強型別語言,在變數宣告時,必須包含以下幾個條件:

  • 宣告變數的敘述 (var)
  • 變數名稱
  • 變數型別
  • 初始值

基本語法為:

var <變數名稱> <型別> = <值>

需要注意的是:

  • 宣告了變數後必須使用,否則會無法通過編譯。
  • 短變數宣告 (:=) 只能在函數裡使用。
  • 短變數宣告不是賦值操作。

變數宣告的變化

多重宣告

Go語言支持同時宣告多個變數,只需將變數包裹在一對括號中:

var (
  name string = "Ted"
  age  int    = 100
)

省略var宣告的型別及賦值

在變數宣告時,可以省略型別或初始值,Go語言會根據右側的值自動推斷型別,未設定初始值的變數將設為該型別的零值:

var (
  name  = "Ted"
  age  int
)

短變數宣告

在函數內,可以使用短變數宣告 (:=),這將同時進行變數的創建與賦值,且不需要寫出型別:

package main

import "fmt"

func main() {
  name := "Ted"
  fmt.Println(name)

  name:= "Other"
  fmt.Println(name)
}

上面這段如果跑了,就會發現有錯,因為短變數宣告不是賦值操作,短變數宣告是一種宣告方式,左邊至少要有一個新的變數,要修正為以下

package main

import "fmt"

func main() {
  name := "Ted"
  fmt.Println(name)

  name, age := "Other" , 100
  fmt.Println(name)
}

短變數宣告多重變數

短變數宣告也支持同時宣告和賦值多個變數:

name, age := "Ted", 100

請注意,每一個宣告的變數都必須在其作用範圍內被使用,否則會產生編譯錯誤。這是為了避免未使用的變數導致的資源浪費和可能的錯誤。

GO 簡化了什麼

  • 他可以自動幫你判斷型別
  • 短變數宣告也不用寫var
  • 短變數多重宣告,可以把多個變數宣告寫在同一行
  • 多變數宣告,只要用小括弧包起來,就不用重複寫var

參考書籍

The Go Workshop 完全自學Go語言


下一篇
2023鐵人賽Day 2 Go怎麼傳值,先讀懂指標-1
系列文
就是個Go,我也可以啦!GOGO30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言